KubeKey 2.0.0 发布:让离线部署 K8s 更加便捷
Editor's Note
降维打击
The following article is from KubeSphere云原生 Author KubeKey
2022 年 3 月 8 日,KubeKey 2.0.0 正式发布,这是 KubeKey 的第 7 个正式版本,也是非常重要的一个版本。该版本新增了清单(manifest)和制品(artifact)的概念,为用户离线部署 Kubernetes 集群提供了解决方案。
KubeKey 简介
KubeKey 是 KubeSphere 社区开源的一款高效集群部署工具,运行时默认使用 Docker , 也可对接 Containerd
CRI-O
iSula
等 CRI 运行时,且 ETCD 集群独立运行,支持与 K8s 分离部署,提高环境部署灵活性。它提供了一种灵活、快速、便捷的方式来仅安装 Kubernetes/K3s,或同时安装 Kubernetes/K3s 和 KubeSphere,以及其他云原生插件。除此之外,它也是扩展和升级集群的有效工具。
解读 KubeKey 2.0.0 重大更新
全新的任务编排框架
基于模块化的设计思路,KubeKey v2.0.0 实现了通用且规范化的任务编排框架。其中定义了host
, pipeline
, module
, task
和action
等对象,实现了模块化的任务调度引擎。基于该框架,用户可根据具体需求及业务逻辑,便捷地开发自定义任务流水线执行程序以及扩展 KubeKey 原有的任务流水线。
相关文档可参考:开发者指南[1]。
更加方便的离线部署流程
KubeKey v2.0.0 中提供了一种全新的自定义离线部署 Kubernetes 集群的解决方案,为此新增了清单 manifest
和制品 artifact
的概念:
manifest
:离线部署安装包自定义配置文件。artifact
:离线部署自定义安装包。
在过去,用户需要准备部署工具,镜像 tar 包以及其他相关的二进制文件,每位用户需要部署的 Kubernetes 版本和涉及到的镜像都可能是不同的。现在使用 KubeKey ,用户仅需使用清单 manifest
文件来定义将要离线部署的集群环境需要的内容,再通过该 manifest
来导出制品 artifact
文件即可完成准备工作。离线部署时只需要 KubeKey 二进制文件 和 artifact
就可快速、简单的在环境中部署镜像仓库、 Kubernetes 以及 KubeSphere。
离线部署相关文档可参考:
KubeKey 制品和清单[2] 推送镜像命令[3] 👉使用 KubeKey 快速离线部署 K8s 与 KubeSphere
一键部署私有镜像仓库
KubeKey v2.0.0 可使用自签名证书部署 docker regisgry 或者 harbor,部署过程中会自动将证书分发至集群所有节点。并且该功能也支持离线部署,与 Kubernetes 集群离线部署结合实现闪电交付。
相关文档可参考:容器镜像仓库[4]。
新增部署配置项
ISSUE #789[5]:支持 Multus CNI 。 ISSUE #811[6]:支持 Kata 和 Node Feature Discovery 。 PR #902[7]:创建集群时默认开启 FeatureGates 。 ISSUE #913[8]:创建集群时默认关闭 SELINUX 。 ISSUE #915[9]:支持私有镜像仓库授权登录。 ISSUE #940[10]:支持拉取和推送镜像时配置 namespaceOverride 。 ISSUE #950[11]:支持自定义 dnsDomain 。 ISSUE #951[12]:支持设置 NTPServer 和 timezone 。 PR #992[13]:创建集群时添加配置 pod 的 PID Limit 和 PID Available 。
更多更新内容可查看 GitHub Release[14] 。
安装方式
获取最新正式版 KubeKey 的最快方法是通过命令行脚本:
curl -sfL https://get-kk.kubesphere.io | sh -
或者也可以前往 GitHub Release 页面,下载获取 KubeKey 2.0.0 的二进制文件。
致谢贡献者
以下是参与 KubeKey 2.0.0 代码与文档贡献的贡献者 GitHub ID,若此名单有遗漏请您与我们联系,排名不分先后。
24sama chaunceyjiang haiker2011 life- lvillis pixiake tanguofu vincenthe11 yj-cloud
感谢以上贡献者在 KubeKey 2.0.0 开发中作出的贡献。KubeKey 是个非常年轻的开源项目,也是一个很有潜力的开源项目,欢迎更多的社区小伙伴加入到贡献者行列。
KubeKey GitHub 地址[15]:https://github.com/kubesphere/kubekey/
KubeKey 相关内容参考
引用链接
开发者指南: https://github.com/kubesphere/kubekey/blob/master/docs/developer-guide.md
[2]KubeKey 制品和清单: https://github.com/kubesphere/kubekey/blob/master/docs/zh/manifest_and_artifact.md
[3]推送镜像命令: https://github.com/kubesphere/kubekey/pull/1094
[4]容器镜像仓库: https://github.com/kubesphere/kubekey/blob/master/docs/registry.md
[5]ISSUE #789: https://github.com/kubesphere/kubekey/issues/789
[6]ISSUE #811: https://github.com/kubesphere/kubekey/issues/811
[7]PR #902: https://github.com/kubesphere/kubekey/pull/902
[8]ISSUE #913: https://github.com/kubesphere/kubekey/issues/913
[9]ISSUE #915: https://github.com/kubesphere/kubekey/issues/915
[10]ISSUE #940: https://github.com/kubesphere/kubekey/issues/940
[11]ISSUE #950: https://github.com/kubesphere/kubekey/issues/950
[12]ISSUE #951: https://github.com/kubesphere/kubekey/issues/951
[13]PR #992: https://github.com/kubesphere/kubekey/pull/992
[14]GitHub Release: https://github.com/kubesphere/kubekey/releases/tag/v2.0.0
[15]KubeKey GitHub 地址: https://github.com/kubesphere/kubekey/
关于 KubeSphere
KubeSphere (https://kubesphere.io)是在 Kubernetes 之上构建的开源容器混合云,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。
KubeSphere 已被 Aqara 智能家居、爱立信、本来生活、东软、华云、新浪、三一重工、华夏银行、四川航空、国药集团、微众银行、杭州数跑科技、紫金保险、去哪儿网、中通、中国人民银行、中国银行、中国人保寿险、中国太平保险、中国移动、中国联通、中国电信、天翼云、中移金科、Radore、ZaloPay 等海内外数千家企业采用。KubeSphere 提供了开发者友好的向导式操作界面和丰富的企业级功能,包括 Kubernetes 多云与多集群管理、DevOps (CI/CD)、应用生命周期管理、边缘计算、微服务治理 (Service Mesh)、多租户管理、可观测性、存储与网络管理、GPU support 等功能,帮助企业快速构建一个强大和功能丰富的容器云平台。